/**
 * 定义基于pinia的store存储
 * 设置相关的store数据
 * @author Jamen
 * @since 2022-08-11
 */
import SignalR from '@/utils/signalR';
import { defineStore } from 'pinia';

// 创建store，defineStore调用后返回函数，调用该函数获得Store实体
const useChatStore = defineStore({
  // 必传的参数，id值，在store中唯一
  id: 'chatStore',
  // 定义数据，返回对象和属性
  state: () => ({
    signalR: null as SignalR,
    newMessage: [],
  }),
  // 获取store模块的属性
  getters: {},
  // 设置store模块的属性
  actions: {
    // 保存signalR
    setSignalR(signalR: SignalR) {
      this.signalR = signalR;
    },
    setNewMessage(message: any) {
      this.newMessage.push(message);
    },
  },
});
export default useChatStore;
